/*
 *  init.c
 *  scheme2
 *
 *  Created by Leo Katzenstein on 5/26/07.
 *  Copyright 2007 __MyCompanyName__. All rights reserved.
 *
 */

#include "scheme.h"

void init(void)
{
  Pair *p;

  /* special symbols */
  define = make_sym("define");
  lambda = make_sym("lambda");
  quote = make_sym("quote");
  cond = make_sym("cond");
  nil = make_sym("nil");

  t = make_sym("t");
  p = cons(cons(t, t), NULL);
  p = cons(cons(make_sym("exit"), make_func(fexit)), p);
  p = cons(cons(make_sym("/"), make_func(fdiv)), p);
  p = cons(cons(make_sym("*"), make_func(fprod)), p);
  p = cons(cons(make_sym("-"), make_func(fminus)), p);
  p = cons(cons(make_sym("+"), make_func(fplus)), p);
  p = cons(cons(make_sym("eq"), make_func(feq)), p);

  env0 = cons(p, NULL);
  return;
}
